<?php
namespace app\admin\model;

use support\think\Model;
use think\model\relation\BelongsToMany;

class Role extends Model
{
    /**
     * 数据表主键
     * @var string
     */
    protected $pk = 'id';

    /**
     * 数据表名称
     * @var string
     */
    protected $name = 'roles';

    /**
     * 是否需要自动写入时间戳，设置为'int'则为时间戳格式
     * @var bool|string
     */
    protected $autoWriteTimestamp = 'int';

    /**
     * 创建时间字段
     * @var string
     */
    protected $createTime = 'created_at';

    /**
     * 更新时间字段
     * @var string
     */
    protected $updateTime = 'updated_at';
    /**
     * 状态获取器
     */
    public function getStatusAttr($value)
    {
        return $value ? true : false;
    }
    /**
     * 定义角色与菜单的多对多关联
     * @return BelongsToMany
     */
    public function menus(): BelongsToMany
    {
        // 关联模型, 中间表, 关联模型外键, 当前模型外键
        return $this->belongsToMany(Menu::class, 'role_menu', 'menu_id', 'role_id');
    }
}